package com.mida.dms.knw.entity;

import java.io.Serializable;
import java.util.Date;

import com.alibaba.fastjson.annotation.JSONField;



import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.mida.tool.common.utils.LongToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * 引用体系
 *
 * @author conyfrommars
 */
@Setter
@Getter
@ToString
@ApiModel(description = "引用体系")
@Data
public class CitationSystem implements Serializable {

    /**
     * 引用体系主键
     */
    @ApiModelProperty(value = "引用体系ID", required = false)
    @JsonSerialize(using = com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    private Long citationSystemSoid;

    /**
     * 标识符
     */
    @ApiModelProperty(value = "标识符", required = true)
    private String identifier;

    /**
     * 名称
     */
    @ApiModelProperty(value = "引用体系名称", required = true)
    private String name;

    /**
     * 拼音码
     */
    @ApiModelProperty(value = "拼音码", required = false)
    private String pyCode;

    /**
     * 五笔
     */
    @ApiModelProperty(value = "五笔码", required = false)
    private String wbCode;

    /**
     * 状态
     */
    @ApiModelProperty(value = "状态", required = true)
    @JsonSerialize(using = com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    private Long status;

    /**
     * 删除标识位
     */
    @ApiModelProperty(value = "删除标识位", required = false)
    @JsonSerialize(using = com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    private Long isDelete = 0L;

    /**
     * 创建日期时间
     */
    @ApiModelProperty(value = "创建日期时间", required = false)
    private Date createDate;

    /**
     * 最后修改日期时间
     */
    @ApiModelProperty(value = "最后修改日期时间", required = false)
    private Date updateDate;

    /**
     * 最后修改人
     */
    @ApiModelProperty(value = "最后修改人", required = false)
    @JsonSerialize(using = com.fasterxml.jackson.databind.ser.std.ToStringSerializer.class)
    private Long updateUser;

    /**
     * 组织标识
     */
    @ApiModelProperty(value = "组织标识", required = false)
    @JSONField(serializeUsing = LongToStringSerializer.class)
    private Long orgInfoSoid;


    private static final long serialVersionUID = 1L;

}